package com.dianjing.dianjing.service;

import com.dianjing.dianjing.dto.input.UserCollectionInput;
import com.dianjing.dianjing.dto.output.PainterShowOutput;
import com.dianjing.dianjing.entity.Painting;
import com.dianjing.dianjing.entity.UserCollection;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dianjing.dianjing.util.ResponseData;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author owf
 * @since 2022-11-12
 */
public interface UserCollectionService extends IService<UserCollection> {

    /**
     * 收藏
     * @param input
     * @param type
     * @return
     */
    ResponseData collect(UserCollectionInput input, Integer type);

    Boolean worksCollect(Long userId, Long worksId);

    Boolean isCollected(Integer type, Long userId, Long worksId);

    Boolean userCollect(Integer type, Long userId, Long worksId);

    List<PainterShowOutput> seeUserCollectPainter(Long userId, Integer typeId);

    List<Painting> seeUserCollectWorks(Long userId, Integer typeId);

    Boolean cancelCollect(Integer type, Long userId, Integer collectId);
}
